package ar.edu.ufasta.presupuestos.logica.entidades;

import java.util.Date;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;

import ar.edu.ufasta.presupuestos.logica.entidades.articulo.Articulo;
import ar.edu.ufasta.presupuestos.servicios.persistencia.PersistenceFacade;

public class Fabrica extends EntidadBase{
	
	private String nombre;
	private String email;
	private String telefono;
	private String nombreContacto;
	private String sitioWeb;
	private Domicilio domicilio;
	private Date fechaEmision;
	
	/**
	 * Getter de la propiedad Nombre
	 * @return nombre
	 */
	public String getNombre() {
		return nombre;
	}
	/**
	 * Setter de la propiedad Nombre
	 * @param nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	/**
	 * Getter de la propiedad Email
	 * @return the email
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * Setter de la propiedad Email
	 * @param email the email to set
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * Getter de la propiedad Telefono
	 * @return the telefono
	 */
	public String getTelefono() {
		return telefono;
	}

	/**
	 * Setter de la propiedad Telefono
	 * @param telefono the telefono to set
	 */
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	/**
	 * Getter de la propiedad NombreContacto
	 * @return the nombreContacto
	 */
	public String getNombreContacto() {
		return nombreContacto;
	}

	/**
	 * Setter de la propiedad NombreContacto
	 * @param nombreContacto the nombreContacto to set
	 */
	public void setNombreContacto(String nombreContacto) {
		this.nombreContacto = nombreContacto;
	}

	/**
	 * Getter de la propiedad SitioWeb
	 * @return the sitioWeb
	 */
	public String getSitioWeb() {
		return sitioWeb;
	}

	/**
	 * Setter de la propiedad SitioWeb
	 * @param sitioWeb the sitioWeb to set
	 */
	public void setSitioWeb(String sitioWeb) {
		this.sitioWeb = sitioWeb;
	}

	/**
	 * Getter de la propiedad Domicilio
	 * @return the domicilio
	 */
	public Domicilio getDomicilio() {
		return domicilio;
	}

	/**
	 * Setter de la propiedad Domicilio
	 * @param domicilio the domicilio to set
	 */
	public void setDomicilio(Domicilio domicilio) {
		this.domicilio = domicilio;
	}

	/**
	 * Getter de la propiedad FechaEmision
	 * @return the fechaEmision
	 */
	public Date getFechaEmision() {
		return fechaEmision;
	}

	/**
	 * Setter de la propiedad FechaEmision
	 * @param fechaEmision the fechaEmision to set
	 */
	public void setFechaEmision(Date fechaEmision) {
		this.fechaEmision = fechaEmision;
	}
	
	/**
	 * Inidica si la fabrica tiene o no articulos asociados
	 * @return boolean value
	 */
	@SuppressWarnings("unchecked")
	public Boolean articulosAsociados(){
		Boolean asociados = Boolean.FALSE;
		Map<String, String> condicion=new Hashtable<String, String>();
		condicion.put("ID_Fabrica", this.getIDValue().toString());
		List<Articulo> listado = (List<Articulo>)PersistenceFacade.getInstance().search(Articulo.class, condicion);
		if(listado!=null && !listado.isEmpty()){
			asociados = Boolean.TRUE;
		}
		return asociados;		
	}
	
}
